package com.eonmind.vip.contract.api;


import com.eonmind.common.contract.constants.ServiceConstant;
import com.eonmind.common.contract.data.response.ResponseEntity;
import com.eonmind.common.provider.dto.VipDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * vip对AI暴露接口
 * @restApi
 */
@FeignClient(name = ServiceConstant.EON_MIND_VIP_SERVICE, contextId = "VIP-TO-AI")
public interface VipToAIFeignService{

    /**
     * 判断AI聊天是否通过
     *
     * @param userId
     * @return ResponseEntity<T>
     */
    @GetMapping("/vip-api/aiChat/isAccess")
    ResponseEntity<VipDto.VipBackToAiIsAcResponse> aiChatIsAc(@RequestParam("userId") Long userId);

    /**
     * 判断AI绘画是否通过
     *
     * @param userId
     * @return ResponseEntity<T>
     */
    @GetMapping("/vip-api/aiDraw/isAccess")
    ResponseEntity<VipDto.VipBackToAiIsAcResponse> aiDrawIsAc(@RequestParam("userId") Long userId);

    /**
     * 判断AI视频是否通过
     *
     * @param userId
     * @return ResponseEntity<T>
     */
    @GetMapping("/vip-api/aiVideo/isAccess")
    ResponseEntity<VipDto.VipBackToAiIsAcResponse> aiVideoIsAc(@RequestParam("userId") Long userId);

    /**
     * 判断AI服务功能是否能通过
     *
     * @param vipAiServerDesc
     * @return ResponseEntity<T>
     */
    @PostMapping("/vip-api/aiServer/isAccess")
    ResponseEntity<VipDto.VipBackToAiIsAcResponse> aiServerIsAc(@RequestBody VipDto.VipAiServerDesc vipAiServerDesc);



}
